package com.zqxx.examine.management.persistence;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.zqxx.examine.common.utils.Page;
import com.zqxx.examine.model.training.Training;
import com.zqxx.examine.model.training.TrainingSection;
import com.zqxx.examine.model.training.TrainingSectionProcess;
import com.zqxx.examine.model.training.UserTraining;

public abstract interface TrainingMapper
{
  public abstract List<Training> getTrainingList(@Param("userId") int paramInt, @Param("page") Page<Training> paramPage);
  
  public abstract void addTraining(Training paramTraining);
  
  public abstract void addTrainingSection(TrainingSection paramTrainingSection);
  
  public abstract List<TrainingSection> getTrainingSectionByTrainingId(@Param("trainingId") int paramInt1, @Param("userId") int paramInt2, @Param("page") Page<TrainingSection> paramPage);
  
  public abstract List<TrainingSection> getTrainingSectionById(@Param("sectionId") int paramInt1, @Param("userId") int paramInt2, @Param("page") Page<TrainingSection> paramPage);
  
  public abstract void deleteTrainingSection(@Param("sectionId") int paramInt1, @Param("userId") int paramInt2);
  
  public abstract void deleteTraining(@Param("trainingId") int paramInt1, @Param("userId") int paramInt2);
  
  public abstract List<TrainingSectionProcess> getTrainingSectionProcessListByTrainingId(@Param("trainingId") int paramInt, @Param("array") List<Integer> paramList, @Param("searchStr") String paramString, @Param("page") Page<TrainingSectionProcess> paramPage);
  
  public abstract List<UserTraining> getUserTrainingList(@Param("trainingId") int paramInt1, @Param("userId") int paramInt2, @Param("searchStr") String paramString, @Param("page") Page<UserTraining> paramPage);
}
